home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_1 / psychrom < prev    next >
Text File  |  1995-03-31  |  6KB  |  308 lines

  1. PSYCH  - PSYCHROMETRIC PROGRAM FOR THE 48SX
  2.  
  3. KEVIN TURNER
  4.  
  5. 10-10-90
  6.  
  7. After downloading the directory to your calculator, press {PSYCH} to
  8. start. This is the only file you need execute.  All units are American
  9. uh.. I mean English.  Press {CONT} after each input.
  10.  
  11. You will first be asked for the ambient temperature and ambient pressure.
  12. Note: These values are only used to calculate availability, so you don't
  13. have to know these values if you're not interested in that stuff.
  14.  
  15. Then you will be asked for the temperature and pressure of the air/water
  16. vapor mixture.
  17.  
  18. Next you must acknowledge that you know ONE of the following:
  19.  
  20. {A} wet bulb temperature
  21. {B} dew point temperature
  22. {C} relative humidity
  23. {D} humidity ratio
  24.  
  25. You will be asked for the value of the item you choose.
  26.  
  27. After a bit of calculating time, dew point temperature, wet bulb
  28. temperature,relative humidity, humidity ratio, enthalpy, volume,
  29. and availability will appear on three pages.  Use the {PAGES} key to cycle
  30. the pages and {QUIT} to quit the program.
  31.  
  32. Note: The program may iterate indefinitely if improper values are used.
  33.  
  34. This program seems to give pretty good answers within reasonable,everyday
  35. limits, but I'm not responsible for any mistakes.  I mainly used algebraic
  36. formulas and EVAL to do the calculations -- so if you know anything about
  37. thermodynamics you should be able to follow the calculations.  Feel free
  38. to edit, simplify, correct, change, or do anything your heart desires to
  39. this program.
  40.  
  41.  
  42. %%HP: T(3)A(D)F(.);
  43. DIR
  44.   PSYCH
  45.     \<< RCLF
  46. 'MYFLAGS' STO 0
  47. 'PAGE' STO 4 FIX
  48. -56 CF CLLCD { {
  49. "CONT" CONT } }
  50. TMENU
  51. "PSYCHROMETRIC PROGRAM"
  52. 1 DISP 1 WAIT
  53. "Enter ambient temp.
  54.         (\^oF)"
  55. PROMPT 'T0' STO
  56. "Enter ambient press.
  57.         (psia)"
  58. PROMPT 'P0' STO
  59. "Enter mixture temp.
  60.         (\^oF)"
  61. PROMPT 'T' STO
  62. "Enter mixture press.
  63.         (psia)"
  64. PROMPT 'P' STO
  65. CLLCD
  66. "    Choose Known:
  67. A) Wet bulb temp.
  68. B) Dew point temp.
  69. C) Relative humidity
  70. D) Humidity ratio"
  71. 2 DISP 3 FREEZE {
  72. "" { "A" {
  73.       \<< { { "CONT"
  74. CONT } } TMENU
  75. "Enter wet bulb temp.
  76.         (\^oF)"
  77. PROMPT 'TWB' STO '(
  78. CPAIR*(TWB-T)+.622*
  79. PSAT(TWB)/(P-PSAT(
  80. TWB))*HFG(TWB))/(
  81. CPWATER*(T-TWB)+HFG
  82. (TWB))' EVAL 'W'
  83. STO 'P/(.622/W+1)/
  84. PSAT(T)' EVAL 'PHI'
  85. STO 'TSAT(P/(.622/W
  86. +1))' EVAL 'TDP'
  87. STO 'P/(.622/W+1)'
  88. EVAL SCND OUTPUT {
  89. { "PAGE" OUTPUT } {
  90. } { } { } { } {
  91. "QUIT" {
  92.         \<< 2 MENU
  93. 'MYFLAGS' DUP EVAL
  94. STOF PURGE
  95.         \>> } } }
  96. TMENU
  97.       \>> } } { "B" {
  98.       \<< { { "CONT"
  99. CONT } } TMENU
  100. "Enter dewpoint temp.
  101.         (\^oF)"
  102. PROMPT 'TDP' STO '
  103. PSAT(TDP)*.622/(P-
  104. PSAT(TDP))' EVAL
  105. 'W' STO 'PSAT(TDP)/
  106. PSAT(T)' EVAL 'PHI'
  107. STO WET TDP PSAT
  108. SCND OUTPUT { {
  109. "PAGE" OUTPUT } { }
  110. { } { } { } {
  111. "QUIT" {
  112.         \<< 2 MENU
  113. 'MYFLAGS' DUP EVAL
  114. STOF PURGE
  115.         \>> } } }
  116. TMENU
  117.       \>> } } { "C" {
  118.       \<< { { "CONT"
  119. CONT } } TMENU
  120. " Enter rel. humidity
  121.          (.XX)"
  122. PROMPT 'PHI' STO '
  123. PHI*PSAT(T)*.622/(P
  124. -PHI*PSAT(T))' EVAL
  125. 'W' STO 'TSAT(PHI*
  126. PSAT(T))' EVAL
  127. 'TDP' STO WET 'PHI*
  128. PSAT(T)' EVAL SCND
  129. OUTPUT { { "PAGE"
  130. OUTPUT } { } { } {
  131. } { } { "QUIT" {
  132.         \<< 2 MENU
  133. 'MYFLAGS' DUP EVAL
  134. STOF PURGE
  135.         \>> } } }
  136. TMENU
  137.       \>> } } { "D" {
  138.       \<< { { "CONT"
  139. CONT } } TMENU
  140. "Enter humidity ratio"
  141. PROMPT 'W' STO 'P/(
  142. .622/W+1)/PSAT(T)'
  143. EVAL 'PHI' STO '
  144. TSAT(P/(.622/W+1))'
  145. EVAL 'TDP' STO WET
  146. 'P/(.622/W+1)' EVAL
  147. SCND OUTPUT { {
  148. "PAGE" OUTPUT } { }
  149. { } { } { } {
  150. "QUIT" {
  151.         \<< 2 MENU
  152. 'MYFLAGS' DUP EVAL
  153. STOF PURGE
  154.         \>> } } }
  155. TMENU
  156.       \>> } } } TMENU
  157.     \>>
  158.   WET
  159.     \<< W T \-> w t
  160.       \<< t 'TWB' STO
  161. 1 'W2' STO CLLCD
  162. "  ITERATING FOR WET
  163.    BULB TEMPERATURE"
  164. 3 DISP 3 FREEZE
  165.         WHILE W2 w
  166. >
  167.         REPEAT .622
  168. TWB PSAT * P TWB
  169. PSAT - / DUP 'WWB'
  170. STO TWB HFG t \-> wwb
  171. hfg t
  172.           \<< CPAIR
  173. TWB T - * wwb hfg *
  174. + CPWATER T TWB - *
  175. hfg + /
  176.           \>> 'W2'
  177. STO TWB 1 - 'TWB'
  178. STO
  179.         END
  180.         WHILE w W2
  181. >
  182.         REPEAT .622
  183. TWB PSAT * P TWB
  184. PSAT - / DUP 'WWB'
  185. STO TWB HFG t \-> wwb
  186. hfg t
  187.           \<< CPAIR
  188. TWB T - * wwb hfg *
  189. + CPWATER T TWB - *
  190. hfg + /
  191.           \>> 'W2'
  192. STO TWB .05 + 'TWB'
  193. STO
  194.         END
  195.       \>> { W2 WWB }
  196. PURGE
  197.     \>>
  198.   SCND
  199.     \<< \-> pv
  200.       \<< CLLCD '
  201. CPAIR*T+W*(HG(TDP)+
  202. CPWATER*(T-TDP))'
  203. EVAL 'H' STO T
  204. 459.67 + 53.352 * P
  205. 144 * / 1 1.6078 W
  206. * + * 'V' STO '
  207. CPAIR*T-CPAIR*T0-(
  208. T0+459.67)*(CPAIR*
  209. LN((T+459.67)/(T0+
  210. 459.67))-RAIR*LN((P
  211. -pv)/(P0-PSAT(T0)))
  212. )+W*(HG(TDP)+
  213. CPWATER*(T-TDP)-HG(
  214. T0)-(T0+459.67)*(SG
  215. (TDP,HFG(TDP))+
  216. CPWATER*LN((T+
  217. 459.67)/(TDP+459.67
  218. ))-SG(T0,HFG(T0))))
  219. ' EVAL 'PSI' STO
  220.       \>>
  221.     \>>
  222.   OUTPUT
  223.     \<< CLLCD
  224.       CASE PAGE 0
  225. ==
  226.         THEN 1
  227. 'PAGE' STO
  228. "   dew point temp="
  229. 2 FIX "        "
  230. TDP \->STR " \^oF" + +
  231. "    wet bulb temp="
  232. "        " TWB \->STR
  233. " \^oF" + +
  234. "  relative humidity="
  235. 1 FIX "         "
  236. PHI 100 * \->STR "%"
  237. + + 6 DISP 5 DISP 4
  238. DISP 3 DISP 2 DISP
  239. 1 DISP 3 FREEZE
  240.         END PAGE 1
  241. ==
  242.         THEN 2
  243. 'PAGE' STO
  244. "   humidity ratio="
  245. 2 SCI "       " W
  246. \->STR +
  247. "      enthalpy=" 2
  248. FIX "    " H \->STR
  249. " Btu/lbm" + +
  250. "       volume=" V
  251. \->STR
  252. " ft^3/lbm dry air"
  253. + 6 DISP 5 DISP 4
  254. DISP 3 DISP 2 DISP
  255. 1 DISP 3 FREEZE
  256.         END PAGE 2
  257. ==
  258.         THEN 0
  259. 'PAGE' STO
  260. "    availability="
  261. "   " PSI \->STR
  262. " Btu/lbm R" + + 2
  263. DISP 1 DISP 3
  264. FREEZE
  265.         END
  266.       END
  267.     \>>
  268.   PSI
  269. (206.679092379,99.0072145663)
  270.   V 13.6265634211
  271.   H 25.1206282091
  272.   PAGE 0
  273.   TDP 30.01457502
  274.   PHI .12
  275.   W 3.4152060814E-3
  276.   TWB 58.85
  277.   P 15
  278.   T 89
  279.   P0 0
  280.   T0 0
  281.   SG
  282.     \<< \-> t hfg 'LN((
  283. t+460)/492)+hfg/(t+
  284. 460)'
  285.     \>>
  286.   HG
  287.     \<< \-> t '.4369*(t
  288. -45)+1081.5'
  289.     \>>
  290.   HFG
  291.     \<< \-> t '1068.4-
  292. .56615*(t-45)'
  293.     \>>
  294.   TSAT
  295.     \<< \-> p '1/(1/
  296. 495.02-LN(p/.1)/
  297. 9670)-460'
  298.     \>>
  299.   PSAT
  300.     \<< \-> t '.1*EXP(
  301. -9670*(1/(t+460)-1/
  302. 495.02))'
  303.     \>>
  304.   CPAIR .24
  305.   CPWATER .444
  306.   RAIR .06856
  307. END
  308.